******************** Polarização Política e Voto: O Papel das Questões Morais e Econômicas *****************

* Declarar ao Stata que a série é times series (anual)
gen timevar = y(1989) +_n-1
format timevar %ty
tsset timevar

* Mean-centered
sum voto1, meanonly
gen centered_voto1 = voto1 - r(mean)
sum voto2, meanonly
gen centered_voto2 = voto2 - r(mean)
sum eco, meanonly
gen centered_eco = eco - r(mean)
sum valor, meanonly
gen centered_valor = valor - r(mean)

* Generating Counter Variable
bysort voto1 Year: egen counterW=count (voto1)

* Análise Descritiva (Gráfico 1)
graph twoway (tsline valor, lpattern(longdash)) (tsline eco, lpattern(solid)) if Year >=1989 & Year <=2019, legend(label (1 "Moral") label (2 "Economia")) xlabel(1989(3)2019) ytitle(Direita<------------------------->Esquerda) ylabel(20(10)80) yline(50) 
alpha valor eco, asis std item detail
pwcorr voto1 voto2 valor eco, sig star(.05)

* Densidade de Kernel (Gráfico 2)
two kdens eco || kdens valor, ytitle(Density) legend(label (1 "Dimensão Econômica") label (2 "Dimensão Moral"))  xtitle(Densidade) ylabel(0(.01).05) xlabel(10(20)90)
overlap eco valor // polarization


* Mood por sub-grupos: renda, educ, raça e religião, região, sexo e idade
twoway (tsline pobre_eco, lpattern(solid)) (tsline rico_eco, lpattern(longdash)) (tsline middle_eco, lpattern(vshortdash)) if Year <=2019, legend(label (1 "Pobres") label (2 "Ricos") label (3 "Classe Média")) ytitle(Liberalismo) xtitle(year) ylabel(30(20)90) text(91 2019 "Renda") name(renda1)
twoway (tsline pobre_valor, lpattern(solid)) (tsline rico_valor, lpattern(longdash)) (tsline middle_valor, lpattern(vshortdash)) if Year <=2019, legend(label (1 "Pobres") label (2 "Ricos") label (3 "Classe Média")) ytitle(Liberalismo) xtitle(year) name(renda2)

twoway (tsline educalto_eco, lpattern(solid)) (tsline educbaixo_eco, lpattern(longdash)) if Year <=2019, legend(label (1 "Menos Educados") label (2 "Mais Educados")) xtitle(year) ylabel(30(20)90) name(educ1)
twoway (tsline educalto_valor, lpattern(solid)) (tsline educbaixo_valor, lpattern(longdash)) if Year <=2019, legend(label (1 "Menos Educados") label (2 "Mais Educados")) xtitle(year) name(educ2)

twoway (tsline naobrancos_eco, lpattern(solid)) (tsline brancos_eco,  lpattern(longdash)) if Year <=2019, legend(label (1 "Não-Brancos") label (2 "Brancos")) ytitle(Liberalismo) xtitle(year) ylabel(30(20)90) name(raca1)
twoway (tsline naobrancos_valor, lpattern(solid)) (tsline brancos_valor,  lpattern(longdash)) if Year <=2019, legend(label (1 "Não-Brancos") label (2 "Brancos")) ytitle(Liberalismo) xtitle(year) name(raca2)


twoway (tsline semreli_eco, lpattern(solid)) (tsline reli_eco, lpattern(longdash)) if Year <=2019, legend(label (1 "Não-Religiosos") label (2 "Religiosos")) xtitle(year) ylabel(30(20)90) name(reli1)
twoway (tsline semreli_valor, lpattern(solid)) (tsline reli_valor, lpattern(longdash)) if Year <=2019, legend(label (1 "Não-Religiosos") label (2 "Religiosos")) xtitle(year) name(reli2)

twoway (tsline masc_valor, lpattern(solid)) (tsline fem_valor, lpattern(longdash)) if Year <=2019, legend(label (1 "Homem") label (2 "Mulher")) xtitle(year) name(sex1)
twoway (tsline masc_eco, lpattern(solid)) (tsline fem_eco, lpattern(longdash)) if Year <=2019, legend(label (1 "Homem") label (2 "Mulher")) xtitle(year) ylabel(30(20)90) name(sex2)

twoway (tsline nordeste_eco, lpattern(solid)) (tsline sudeste_eco, lpattern(longdash)) (tsline sul_eco, lpattern(vshortdash)) if Year <=2019, legend(label (1 "Nordetse") label (2 "Sudeste") label (3 "Sul")) ytitle(Liberalismo) xtitle(year) ylabel(30(20)90) name(regi1)
twoway (tsline nordeste_valor, lpattern(solid)) (tsline sudeste_valor, lpattern(longdash)) (tsline sul_valor, lpattern(vshortdash)) if Year <=2019, legend(label (1 "Nordetse") label (2 "Sudeste") label (3 "Sul")) ytitle(Liberalismo) xtitle(year) name(regi2)

twoway (tsline eco16_34anos, lpattern(solid)) (tsline  eco35_59anos, lpattern(longdash)) (tsline eco60mais, lpattern(vshortdash)) if Year <=2019, legend(label (1 "16-34 Anos") label (2 "35-59 Anos") label (3 "60 anos ou mais")) ytitle(Liberalismo) xtitle(year) ylabel(30(20)90) name(idade1)
twoway (tsline valor16_34anos, lpattern(solid)) (tsline valor35_59anos, lpattern(longdash)) (tsline valor60mais, lpattern(vshortdash)) if Year <=2019, legend(label (1 "16-34 Anos") label (2 "35-59 Anos") label (3 "60 anos ou mais")) ytitle(Liberalismo) xtitle(year) name(idade2)

graph combine renda1 renda2 educ1 educ2 raca1 raca2 reli1 reli2 sex1 sex2 regi1 regi2 idade1 idade2


* Relative Density and Overlap
* 1. Values Issues Scale (gráfico 3)
two kdens nordeste_valor || kdens sudeste_valor || kdens sul_valor, ytitle(Density) legend(label (1 "Nordeste") label (2 "Sudeste") label (3 "Sul")) xtitle(Values Issues Scale) name(val1) ylabel(0(.02).04) xlabel(10(20)90)
two kdens fem_valor || kdens masc_valor, ytitle(Density) legend(label (1 "Mulher") label (2 "Homem")) xtitle(Values Issues Scale) name(val2) ylabel(0(.02).04) xlabel(10(20)90)
two kdens brancos_valor || kdens naobrancos_valor, ytitle(Density) legend(label (1 "Brancos") label (2 "Não-Brancos")) xtitle(Values Issues Scale) name(val3) ylabel(0(.02).04) xlabel(10(20)90)
two kdens educalto_valor || kdens educbaixo_valor, ytitle(Density) legend(label (1 "Mais Educados") label (2 "Menos Educados")) xtitle(Values Issues Scale) name(val4) ylabel(0(.02).04) xlabel(10(20)90)
two kdens reli_valor || kdens semreli_valor, ytitle(Density) legend(label (1 "Religioso") label (2 "Não-Regilioso")) xtitle(Values Issues Scale) name(val5) ylabel(0(.02).04) xlabel(10(20)90)
two kdens pobre_valor || kdens middle_valor || kdens rico_valor, ytitle(Density) legend(label (1 "Pobre") label (2 "Classe Média") label (3 "Rico")) xtitle(Values Issues Scale) name(val6) ylabel(0(.02).04) xlabel(10(20)90)
two kdens valor16_34anos || kdens valor35_59anos || kdens valor60mais, ytitle(Density) legend(label (1 "16-34 anos") label (2 "35-59 anos") label (3 "60 anos ou mais")) xtitle(Values Issues Scale) name(val7) ylabel(0(.02).04) xlabel(10(20)90)
graph combine val1 val2 val3 val4 val5 val6 val7


* 1.1 Overlap - Values Issues Scale
overlap nordeste_valor sul_valor 
overlap nordeste_valor sudeste_valor 
overlap sul_valor sudeste_valor 

overlap pobre_valor rico_valor 
overlap pobre_valor middle_valor 
overlap middle_valor rico_valor 

overlap brancos_valor naobrancos_valor 
overlap masc_valor fem_valor 
overlap educalto_valor educbaixo_valor 
overlap semreli_valor reli_valor

overlap valor_16_34anos valor_35_59anos 
overlap valor_16_34anos valor_60mais 
overlap valor_35_59anos valor_60mais 

* 2. Economic Issues Scale (Gráfico 4)
two kdens nordeste_eco || kdens sudeste_eco || kdens sul_eco, ytitle(Density) legend(label (1 "Nordeste") label (2 "Sudeste") label (3 "Sul")) xtitle(Economic Issues Scale) name(eco1) ylabel(0(.02).04) xlabel(20(20)100)
two kdens fem_eco || kdens masc_eco, ytitle(Density) legend(label (1 "Mulher") label (2 "Homem")) xtitle(Economic Issues Scale) name(eco2) ylabel(0(.02).04) xlabel(20(20)100)
two kdens brancos_eco || kdens naobrancos_eco, ytitle(Density) legend(label (1 "Brancos") label (2 "Não-Brancos")) xtitle(Economic Issues Scale) name(eco3) ylabel(0(.02).04) xlabel(20(20)100)
two kdens educalto_eco || kdens educbaixo_eco, ytitle(Density) legend(label (1 "Mais Educado") label (2 "Menos Educado")) xtitle(Economic Issues Scale) name(eco4) ylabel(0(.02).04) xlabel(20(20)100)
two kdens reli_eco || kdens semreli_eco, ytitle(Density) legend(label (1 "Religioso") label (2 "Não-Religioso")) xtitle(Economic Issues Scale) name(eco5) ylabel(0(.02).04) xlabel(20(20)100)
two kdens pobre_eco || kdens middle_eco || kdens rico_eco, ytitle(Density) legend(label (1 "Pobre") label (2 "Classe Média") label (3 "Rico")) xtitle(Economic Issues Scale) name(eco6) ylabel(0(.02).04) xlabel(20(20)100)
two kdens eco16_34anos || kdens eco35_59anos || kdens eco60mais, ytitle(Density) legend(label (1 "16-34 anos") label (2 "35-59 anos") label (3 "60 anos ou mais")) xtitle(Economic Issues Scale) name(eco7) ylabel(0(.02).04) xlabel(20(20)100)
graph combine eco1 eco2 eco3 eco4 eco5 eco6 eco7


* 2.1 Overlap - Economic Issues Scale
overlap nordeste_eco sul_eco 
overlap nordeste_eco sudeste_eco 
overlap sul_eco sudeste_eco 

overlap pobre_eco rico_eco 
overlap pobre_eco middle_eco 
overlap middle_eco rico_eco 

overlap brancos_eco naobrancos_eco 
overlap masc_eco fem_eco 
overlap educalto_eco educbaixo_eco 
overlap semreli_eco reli_eco 
overlap eco16_34anos eco35_59anos 
overlap eco16_34anos eco60mais 
overlap eco35_59anos eco60mais 


* Polarização e Voto (Gráfico 5)
graph twoway (tsline voto1, lpattern(solid)) (tsline voto2, lpattern(longdash)) if Year >=1989 & Year <=2018, legend(label (1 "Primeiro Turno") label (2 "Segundo Turno")) xtitle(years) ytitle(Intenção de Voto (PT)) 

* 1 Turno
reg centered_voto1 centered_eco centered_valor counter_ano if Year >=1989 & Year <=2019, vce(robust) 
esttab, b(3) se(3) nogaps nopar star(* .05 ** .01 *** .001)
reg centered_voto1 centered_eco centered_valor counter_ano if  Year >=1989 & Year <=2001, vce(robust) 
esttab, b(3) se(3) nogaps nopar star(* .05 ** .01 *** .001)
reg centered_voto1 centered_eco centered_valor counter_ano  if  Year >=2002 & Year <=2010, vce(robust) 
esttab, b(3) se(3) nogaps nopar star(* .05 ** .01 *** .001)
reg centered_voto1 centered_eco centered_valor counter_ano if  Year >=2011 & Year <=2019, vce(robust) 
esttab, b(3) se(3) nogaps nopar star(* .05 ** .01 *** .001)
* 2 turno
reg centered_voto2 centered_eco centered_valor counter_ano if Year >=1989 & Year <=2019, vce(robust) 
esttab, b(3) se(3) nogaps nopar star(* .05 ** .01 *** .001)
reg centered_voto2 centered_eco centered_valor counter_ano if  Year >=1989 & Year <=2001, vce(robust) 
esttab, b(3) se(3) nogaps nopar star(* .05 ** .01 *** .001)
reg centered_voto2 centered_eco centered_valor counter_ano if  Year >=2002 & Year <=2011, vce(robust) 
esttab, b(3) se(3) nogaps nopar star(* .05 ** .01 *** .001)
reg centered_voto2 centered_eco centered_valor counter_ano if  Year >=2011 & Year <=2019, vce(robust) 
esttab, b(3) se(3) nogaps nopar star(* .05 ** .01 *** .001)


